package com.lagou.server;

import com.lagou.model.User;

import java.io.*;
import java.util.ArrayList;
import java.util.List;
import java.util.function.Predicate;

/**
 * 编程实现数据的存取
 */
public interface ServerUserDao {




    /**
     * 编程实现管理员账号和密码的校验并将结果返回出去
     * @param user
     * @return
     */
    public boolean ServerManagerCheck(User user);



    /**
     * 编程实现学员账号和密码的校验并将结果返回出去
     * @param user
     * @return
     */
    public boolean ServerUserCheck(User user) throws IOException, ClassNotFoundException;

    /**
     * 根据学号修改学员信息
     * @param studentId
     * @param user
     * @return
     */
    public boolean ServerUpdateUserPassword(String studentId,User user);

    /**
     * 管理员新增学员信息
     * @param user
     * @return
     * @throws IOException
     * @throws ClassNotFoundException
     */
    public boolean ServerInsertStudent(User user) throws IOException, ClassNotFoundException;

    /**
     * 根据学号查询学生信息
     * @param studentId
     * @return
     */
    public User ServerSelectUserByStudentId(String studentId);

    /**
     * 查询所有学生信息
     * @return
     */
    public List<User>ServerSelectAllUser();

    /**
     * 根据学号删除学生信息
     * @param studentId
     * @return
     */
    public boolean ServerDeleteUserByStudentId(String studentId);

    /**
     * 修改学生信息
     * @param user
     * @return
     */
    public boolean ServerUpdateUserByStudentId(String studentId,User user) ;


    /**
     * 退出时将数据保存至文件
     * @throws IOException
     */
    public void closeSavaData() throws IOException;
}
